#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'登陆网易账号，给QQ邮箱发邮件，然后QQ邮件回复'

"""
    使用Python内置对SMTP的支持，给自己发送一个邮件
    Python对SMTP支持有smtplib和email两个模块，email负责构造邮件，smtplib负责发送邮件
"""

# 构造一个存文本邮件
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr,formataddr

def _format_addr(s):
    name,addr = parseaddr(s)
    return formataddr((Header(name,'utf-8').encode(),addr))

# 发送文本邮件

# 输入自己的邮箱和密码
from_addr = input('From:')
password = input('Password:')
# 输入对方的邮箱
to_addr = input('To:')
# 输入SMTP服务器地址
smtp_server = input('SMTP server:')

msg = MIMEText('hello,send by Python 再来一封...','plain','utf-8')
# 'plain'表示纯文本，最终的MIME就是'text/plain'，最终用utf-8保证多语言兼容性
# 如果要发html邮件：MIMEText('<html>...</html>','html','utf-8')
msg['From'] = _format_addr('Python 爱好者<%s>' % from_addr)
msg['To'] = _format_addr('管理员<%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候','utf-8').encode()

import smtplib

server = smtplib.SMTP(smtp_server,25)
server.set_debuglevel(1)
server.login(from_addr,password)
server.sendmail(from_addr,[to_addr],msg.as_string())
server.quit()
